<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body {
      margin: 0;
    }
    #box {
      position: absolute;
      left: 100px;
      top: 100px;
      width: 100px;
      height: 100px;
      background: pink;
    }
  </style>
</head>
<body>
  <div id="box"></div>

  <script>
    var box = document.querySelector('#box')
    var x, y

    box.ontouchstart = function(e) {
      var obj = e.targetTouches[0]  // // 手指相关信息
      var pageX = obj.pageX  // 手指距离页面左侧的距离
      var pageY = obj.pageY  // 手指距离页面顶部的距离

      x = pageX - this.offsetLeft  //手指距离页面左侧的距离 - 盒子距离页面左侧距离 = 手指距离盒子左侧距离
      y = pageY - this.offsetTop  //手指距离页面顶部的距离 - 盒子距离页面顶部距离 = 手指距离盒子顶部距离
  
    }

    box.ontouchmove = function(e) {
      // 设置元素距离页面左侧距离 = 最新的手指距离页面左侧距离 - 手指距离盒子左侧位置
      this.style.left =  e.targetTouches[0].pageX - x + 'px'
      this.style.top =  e.targetTouches[0].pageY - y + 'px'
    }
  </script>
</body>
</html>